SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO
CREATE PROCEDURE [dbo].[paLicenciasAcumuladasDetalleAgentes] 

@documento int,
@licencia int,
@FechaDesde VARCHAR(10) = NULL ,
@FechaHasta VARCHAR(10) = NULL  
AS

declare @agente int
select @agente=idagente from tb_agentes where documento=@documento


SELECT IdSubservicio , SS.FechaAlta, SS.FechaBaja, 'A' TipoLicencia,  CUPOF, NormaInicio, NormaFin, SituacionLaboral, SituacionExtraordinaria,
	 LicenciaDescripcion, Confirmada, SS.Baja, ModalidadEnsenanza, NivelEnsenanza, Zona, NroOrden9, CodEnfermedad, 
	SS.FechaTermino, FechaDeCarga, CodigoAlfanumerico 
    FROM vwSubserviciosAgentesSF SS
       INNER JOIN Tb_ServiciosAgentes S ON S.IdServicioAgente = SS.ServicioAgente
    WHERE Agente=@Agente AND Licencia is not null AND Licencia=@licencia
			  AND (@FechaDesde IS NULL OR (@FechaDesde IS NOT NULL AND (SS.FechaAlta >= @FechaDesde OR isnull(ss.FechaBaja,getdate()) >= @FechaDesde)))
			  AND (@FechaHasta IS NULL OR (@FechaHasta IS NOT NULL AND (SS.FechaAlta <= @FechaHasta OR isnull(ss.FechaBaja,getdate()) <= @FechaHasta)))

UNION
SELECT NULL AS  IdSubservicio, FechaAlta, ISNULL(FechaBaja,GETDATE()) AS FechaBaja, 'H' TipoLicencia, NULL AS  CUPOF, NULL AS NormaInicio, 
	 NULL AS NormaFin, NULL AS SituacionLaboral, NULL AS SituacionExtraordinaria,
	 NULL AS LicenciaDescripcion, NULL AS Confirmada, NULL AS Baja, NULL AS ModalidadEnsenanza, NULL AS NivelEnsenanza,  NULL ASZona, 
	NULL AS NroOrden9,  NULL AS CodEnfermedad, 	NULL AS FechaTermino, NULL AS FechaDeCarga, NULL AS CodigoAlfanumerico 
    FROM tb_LicenciasHistoricas lh 
    WHERE lh.Agente=@agente 
          AND LH.Licencia = @licencia
          AND (@FechaDesde IS NULL OR (@FechaDesde IS NOT NULL AND (lh.FechaAlta >= @FechaDesde OR isnull(lh.FechaBaja,getdate()) >= @FechaDesde)))
			  AND (@FechaHasta IS NULL OR (@FechaHasta IS NOT NULL AND (lh.FechaAlta <= @FechaHasta OR isnull(lh.FechaBaja,getdate()) <= @FechaHasta)))	
 ORDER BY 2
GO
GRANT EXECUTE ON  [dbo].[paLicenciasAcumuladasDetalleAgentes] TO [PersonalDocente]
GRANT EXECUTE ON  [dbo].[paLicenciasAcumuladasDetalleAgentes] TO [PersonalDocenteDireccion]
GO
